package com.yeyks.commonReference.append.activity;

import com.yeyks.common.result.user.UserDataStatInviteSortResult;
import com.yeyks.common.ajax.AjaxResponseBody;
import com.yeyks.commonReference.pojo.param.activity.ZhouJieLun.ActivityZhouJieLunLeaderboardDetailsParam;
import com.yeyks.commonReference.pojo.param.activity.ZhouJieLun.ActivityZhouJieLunLotteryParam;
import com.yeyks.commonReference.pojo.param.activity.ZhouJieLun.ActivityZhouJieLunStatisticIncrementParam;
import com.yeyks.commonReference.pojo.vo.activity.ZhouJieLun.ActivityZhouJieLunLeaderboardDetailsVo;
import com.yeyks.commonReference.pojo.vo.activity.ZhouJieLun.ActivityZhouJieLunLotteryVo;
import com.yeyks.consumer.dal.domain.UserDataStat;
import com.yeyks.consumer.param.UserInfo.UserInfoPhoneLoginParam;

import java.util.List;

public interface ActivityZhouJieLunService {
    //统计活动
    boolean statisticIncrement(ActivityZhouJieLunStatisticIncrementParam param);

    //抢票,即注册
    Boolean register(UserInfoPhoneLoginParam param);

    //详情列表
    ActivityZhouJieLunLeaderboardDetailsVo leaderboardDetails(ActivityZhouJieLunLeaderboardDetailsParam param);

    /**
     * 周杰伦活动用户邀请人数排名
     *
     * @return
     */
    List<UserDataStatInviteSortResult> inviteSort();

    //发送验证码
    AjaxResponseBody<Boolean> sendCode(String phone);

    //抽奖
    ActivityZhouJieLunLotteryVo lottery(ActivityZhouJieLunLotteryParam param);

    /**
     * 获取redis中周杰伦活动数据
     *
     * @return
     */
    UserDataStat getRedisActivityData(String key);
}
